# 第一阶段：构建阶段
FROM golang:alpine AS builder
# 设置工作目录和代理
WORKDIR /app
ENV GOPROXY=https://goproxy.cn,direct

# 复制项目文件并编译
COPY ./gcapi .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gcapi main.go

# 第二阶段：Alpine Linux 作为基础镜像
FROM alpine:latest

# 安装 Nginx 并创建必要目录
RUN apk add --no-cache nginx && \
    # 创建 Nginx 默认目录
    mkdir -p /usr/share/nginx/html /app/config

# 复制所有必要文件
COPY --from=builder /app/gcapi /app/gcapi
COPY --from=builder /app/config/config.yaml /app/config/config.yaml
COPY nginx.conf /etc/nginx/nginx.conf
COPY gcweb/dist /usr/share/nginx/html

# 声明服务监听的端口
EXPOSE 3333

CMD ["sh", "-c", "nginx -g 'daemon off;' & cd /app && ./gcapi"]

